package com.wicket.okrframework.biz.service.dto.common;


import com.wicket.okrframework.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Objects;

@Data
public class GradeScopeDataDto extends BaseDto implements Serializable {

    /**
     * 等级范围关系ID:
     */
    @ApiModelProperty("等级范围关系ID")
    private String gradeScopeId;

    /**
     * 岗位等级ID:
     */
    @ApiModelProperty("岗位等级ID")
    private String stationGradeId;

    /**
     * 岗位等级别名:
     */
    @ApiModelProperty("岗位等级别名")
    private String stationGradeAlias;

    /**
     * 归属对象实例ID:
     */
    @ApiModelProperty("归属对象实例ID")
    private String entityId;

    /**
     * 批次下更新状态:
     */
    @ApiModelProperty("批次下更新状态")
    private String updateStatus;
    /**
     * 主体生命周期:
     */
    @ApiModelProperty("主体生命周期")
    private String subjectLifeCycle;
    /**
     * 存档类型:
     */
    @ApiModelProperty("存档类型")
    private String archivngType;

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        if (!super.equals(o)) return false;
        GradeScopeDataDto that = (GradeScopeDataDto) o;
        return gradeScopeId == that.gradeScopeId && stationGradeId == that.stationGradeId && stationGradeAlias == that.stationGradeAlias && entityId == that.entityId && updateStatus == that.updateStatus && subjectLifeCycle == that.subjectLifeCycle && archivngType == that.archivngType;
    }

    @Override
    public int hashCode() {
        return Objects.hash(super.hashCode(), gradeScopeId, stationGradeId, stationGradeAlias, entityId, updateStatus, subjectLifeCycle, archivngType);
    }

}
